package com.xydtech.ecard.merchant.mapper;

import com.xydtech.ecard.merchant.domain.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 电子名片个人信息图表统计Mapper接口
 *
 * @author yuzhiguo
 * @date 2024-09-13 上午11:27
 */
public interface EcardBranchPersonChartMapper {

    /**
     * 本人个人建档拜访数量
     *
     * @param userId
     * @param perType 个人客户类型，1：农户，2：新市民
     * @return
     */
    List<EcardBranchEcardChart> selectPerFilingVisitsByUserId(@Param("userId") Long userId, @Param("perType") String perType);

    /**
     * 本人网格建档数量
     *
     * @param userId
     * @return
     */
    List<EcardBranchEcardChart> getPerAreaFilings(@Param("userId") Long userId);

    /**
     * 全行个人建档拜访数量
     *
     * @param deptId
     * @param perType 个人客户类型，1：农户，2：新市民
     * @return
     */
    List<EcardBranchEcardChart> getPerAllFilingVisitsNums(@Param("deptId") Long deptId, @Param("perType") String perType);

    /**
     * 全行网格建档数量
     *
     * @param deptId
     * @return
     */
    List<EcardBranchEcardChart> getPerAllAreaFilings(@Param("deptId") Long deptId);

    /**
     * 个人超时拜访数量
     *
     * @param deptId
     * @param perType 个人客户类型，1：农户，2：新市民
     * @return
     */
    List<EcardBranchEcardChart> getPerTimeoutVisitsNums(@Param("deptId") Long deptId, @Param("perType") String perType);

    /**
     * 查询个人信息建档折线图数据
     *
     * @param deptId
     * @param perType 个人客户类型，1：农户，2：新市民
     * @return
     */
    List<EcardBranchEcardChart> getPerFilingLineChart(@Param("deptId") Long deptId, @Param("perType") String perType);

    /**
     * 查询个人信息建档折线图数据（小程序接口）
     *
     * @param deptId
     * @param perType 个人客户类型，1：农户，2：新市民
     * @return
     */
    List<EcardBranchEcardChart> getPerFilingLineChartByApplet(@Param("deptId") Long deptId, @Param("perType") String perType);

    /**
     * 查询个人信息拜访折线图数据
     *
     * @param deptId
     * @param perType 个人客户类型，1：农户，2：新市民
     * @return
     */
    List<EcardBranchEcardChart> getPerVisitLineChart(@Param("deptId") Long deptId, @Param("perType") String perType);

    /**
     * 查询个人信息拜访折线图数据（小程序接口）
     *
     * @param deptId
     * @param perType 个人客户类型，1：农户，2：新市民
     * @return
     */
    List<EcardBranchEcardChart> getPerVisitLineChartByApplet(@Param("deptId") Long deptId, @Param("perType") String perType);

    /**
     * 机构个人建档排名
     * @param ecardBranchDeptFiling
     * @return
     */
    List<EcardBranchDeptFiling> getPerDeptFilingList(EcardBranchDeptFiling ecardBranchDeptFiling);

    /**
     * 机构个人拜访次数排名
     * @param ecardBranchDeptVisit
     * @return
     */
    List<EcardBranchDeptVisit> getPerDeptVisitsList(EcardBranchDeptVisit ecardBranchDeptVisit);

    /**
     * 机构个人超时拜访次数排名
     * @param ecardBranchDeptDoTask
     * @return
     */
    List<EcardBranchDeptDoTask> getPerDeptDoTaskList(EcardBranchDeptDoTask ecardBranchDeptDoTask);

    /**
     * 机构个人超时未拜访次数排名
     * @param ecardBranchDeptUndoTask
     * @return
     */
    List<EcardBranchDeptUndoTask> getPerDeptUnDoTaskList(EcardBranchDeptUndoTask ecardBranchDeptUndoTask);

    /**
     * 营销人员个人建档排名
     * @param ecardBranchUserFiling
     * @return
     */
    List<EcardBranchUserFiling> getPerUserFilingList(EcardBranchUserFiling ecardBranchUserFiling);

    /**
     * 营销人员个人拜访次数排名
     * @param ecardBranchUserVisit
     * @return
     */
    List<EcardBranchUserVisit> getPerUserVisitsList(EcardBranchUserVisit ecardBranchUserVisit);

    /**
     * 营销人员个人超时拜访次数排名
     * @param ecardBranchUserDoTask
     * @return
     */
    List<EcardBranchUserDoTask> getPerUserDoTaskList(EcardBranchUserDoTask ecardBranchUserDoTask);

    /**
     * 营销人员个人超时未拜访次数排名
     * @param ecardBranchUserUndoTask
     * @return
     */
    List<EcardBranchUserUndoTask> getPerUserUnDoTaskList(EcardBranchUserUndoTask ecardBranchUserUndoTask);
}
